import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 读取Excel文件
file_path = '/Users/code/ct-enterprise-code/BiddingData/output/7a'
sheet_names = [
    'DICT类设计咨询标数据',
    'DICT类设计咨询标中标数据',
    'DICT类招标数据',
    'DICT类中标数据'
]

# 设定图表风格
sns.set(style="whitegrid")


def plot_bar_chart(data, column_index, column_name, sheet_name):
    # 统计每个词的数量
    count_data = data.iloc[:, column_index].value_counts().reset_index()
    count_data.columns = [column_name, '数量']
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体为黑体或其他支持中文的字体
    plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

    # 绘制条形图
    plt.figure(figsize=(14, 8))
    sns.barplot(x=column_name, y='数量', data=count_data)
    plt.title(f'{sheet_name} - {column_name}统计')
    plt.xlabel(column_name)
    plt.ylabel('数量')
    plt.xticks(rotation=45)
    plt.tight_layout()
    plt.savefig(f'{sheet_name}_{column_name}_统计.png')
    plt.show()


for sheet in sheet_names:
    data = pd.read_excel(file_path, sheet_name=sheet)
    plot_bar_chart(data, 1, '招标阶段', sheet)  # 第二列
    plot_bar_chart(data, 2, '关键字', sheet)  # 第三列
    plot_bar_chart(data, 3, '归属区域', sheet)  # 第四列
